// -*- c-basic-offset: 2 default-tab-width: 2 indent-tabs-mode: t -*-
// vim: autoindent tabstop=2 noexpandtab shiftwidth=2 softtabstop=2
//===------------ Promise.h
//
//             This file is part of the reactor project
//                Author: R-Core Team
//
//===---------------------------------------------------------------------===//

#ifndef _PROMISE_H_
#define _PROMISE_H_

#include "Lambda.h"
#include "Environment.h"

namespace R {
	class Promise : public Lambda {
		BASE_RCLASS(Promise);
	public:
		EnvInfo*     envInfo;

		virtual void print();
		virtual void tracer(word_t closure);

		Any*         value;

		static Promise* doNew(FunInfo *fun, EnvInfo* _envInfo);
	};
}

#endif /* PROMISE_H_ */
